package br.com.divulgaqui.entity;

import java.util.ArrayList;
import java.util.HashSet;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.PrimaryKeyJoinColumn;

@Entity
@PrimaryKeyJoinColumn(name="idPessoa")
public class PessoaFisica extends Pessoa {
	public PessoaFisica(Long id){
		super(id);
	}
	
	private static final long serialVersionUID = 1L;
	
	@Column(nullable=false, unique=true)
	private String cpf;
	
	public PessoaFisica(){
		super();
	}
	public PessoaFisica(Pessoa pessoa){
		super.setId(pessoa.getId());
		super.setNome(pessoa.getNome());
		super.setEmail(pessoa.getEmail());
		super.setSenha(pessoa.getSenha());
		super.setAtivo(pessoa.getAtivo());
		super.setPerfil(pessoa.getPerfil());
		super.setTelefones(new ArrayList<Telefone>());
		for (Telefone tel : pessoa.getTelefones()) {
			tel.setPessoa(this);
			addTelefone(tel);
		}
		super.setEnderecos(new HashSet<Endereco>());
		for (Endereco end : pessoa.getEnderecos()) {
			end.setPessoa(this);
			addEndereco(end);
		}
		super.setVendas(pessoa.getVendas());
	}

	public String getCpf() {
		return this.cpf;
	}

	public void setCpf(String cpf) {
		this.cpf = cpf;
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return super.toString() + "\nPessoaFisica [cpf=" + cpf + "]";
	}
}
